home *** CD-ROM | disk | FTP | other *** search
/ Just Call Me Internet / Just Call Me Internet.iso / prog / atari / c / zmdm_src / zmdm.doc < prev    next >
Text File  |  1988-06-26  |  28KB  |  723 lines

  1.     zmdm.doc, v1.6 ++jrb
  2.  
  3.                 ACKNOWLEDGEMENTS
  4.  
  5.     ZMDM was derived from rz/sz for Unix  posted by 
  6.     Chuck Forsberg (...!tektronix!reed!omen!caf ). We
  7.     thank him for his excellent code, and for giving
  8.     us permission to use and distribute his code and
  9.     documentation.
  10.  
  11.     The code for detecting baud rate at startup is courtesy
  12.     of Brian Katzung (katzung@laidbak.UUCP). Thanks very
  13.     much!
  14.  
  15.     Andy Nicola did a lot of testing of the new features.
  16.     Thank You very much!
  17.  
  18.     Thanks to the many users on the net who wrote in.
  19.     
  20. ----------------------------------------------------------------------------
  21.     Enhancements since V1.2: (the last Usenet  release).
  22.     
  23.         o Some cleanup, moved common things around.
  24.           Some cosmetic additions.
  25.  
  26.         o MWC 3.0 compatible. The sample MW makefiles
  27.           reflect the setup required for MWC  V 3.0.6.
  28.  
  29.         o Manx Aztec C compatible. Tested with V 3.6a
  30.           of the compiler. Produces the smallest code
  31.           of all the compilers tested. See config.h,
  32.           makefile.man and makefman.sta.
  33.           CAUTION: for MegaST and 4Meg ST owners--
  34.             The Manx Version will not work correctly
  35.           for you due to a bug in the start up file
  36.           -- we are still trying to figure out exactly
  37.           what the problem is!
  38.  
  39.         o Auto Baud Rate detection on startup:
  40.           Previously ZMDM would set the baud rate
  41.           to a compile time configurable rate on
  42.           startup (it needed to know the baud rate
  43.           to determine its default packet size). Thanks
  44.           to code contributed by Brian Katzung, now it
  45.           detects the baud rate on startup.
  46.           Of course you can set the baud rate
  47.           within ZMDM (by hitting '<HELP>'  'b' ).
  48.  
  49.         o Compile time option to use all available memory
  50.           as recv/send buffer. See DYNABUF, LEAVEALONE and
  51.           MINACC preprocessor symbols in config.h. If you
  52.           prefer to use a fixed size buffer, this is still
  53.           possible by not #define'ing DYNABUF and setting
  54.           BBUFSIZ. MegaST OK - thanks Andy Nicola.
  55.  
  56.         o Stand Alone versions of RZ and SZ can be made
  57.           by compiling the sources with the preprocessor
  58.           symbols 'STANDALONE' #define'ed. See the makefile
  59.           'MAKEFILE.STA' for more details.
  60.           Stand Alone versions DO NOT do any command line
  61.           argument expansions for wild cards or directories
  62.           (unlike the integrated ZMDM).
  63.           Stand Alone versions tested from within Gulam,
  64.           Flash and Intersect. Thanks to Andy Nicola for
  65.           testing these features.
  66.  
  67.         o Remote versions of ZMDM, RZ and SZ can be made by
  68.           compiling the sources with the preprocessor symbol
  69.           'REMOTE' #define'ed. A remote version listens and
  70.           does all its I/O thru the serial port. Of course
  71.           it has to be fired up from console. One of our
  72.           area BBS's provides this as a D/L option, where
  73.           the BBS program execs a remote ZMDM, and one you exit
  74.           you return back to the BBS program.
  75.  
  76.             o Added -B (note: uppercase B) option to both RZ and SZ.
  77.           the -B function is a binary mode override, that disregards
  78.           the extension when deciding the transfer mode. This is
  79.           useful when say you are backing up your whole disk
  80.           to say a Unix host. (backup the exact image of the files),
  81.           or doing St-to-St type transfers.
  82.         
  83.         o Now compatible with the PD DLIB library. The
  84.           pre-processor symbol DLIBS must be defined. Only
  85.           tested with the Alcyon version of the library.
  86.  
  87.         o Added the phone module (a simple dialer with a
  88.           telephone numbers directory). This module is
  89.           only compiled in if the preprocessor symbol
  90.           'PHONES' is #define'ed. For those of you who
  91.           are familiar with XMDM, this module was directly
  92.           ripped out of there, with a small bug fix that
  93.           prevented it from running under TurboSt.ACC.
  94.  
  95.         o Long packet lengths now allowed at slower baud rates
  96.           rather than insisting on using the default as the max
  97.           packet length. For instance
  98.             sz -l 1024 files..
  99.           will now send 1024 byte packets at low baud rates (<= 2400).
  100.           The corresponding change has been made to the unix
  101.           end of the software too.
  102.  
  103.         o TurboSt.ACC note:
  104.             The high rez toggle (25/50 lines) on a
  105.         monochrome monitor will NOT work is TurboSt.ACC is
  106.         installed. The problem is on the TurboSt.ACC end. Using
  107.         the high rez toggle does'nt cause any ill-effect, it just
  108.         does not do anything.
  109.           
  110.     Enhancements since V1.0:
  111.         o (This enhancement is only present when
  112.            you compile with the pre-processor symbol
  113.            `RECURSE' defined - see the makefile's)
  114.           sz now takes a  directory as an argument.
  115.           If the name of a directory is given as an
  116.           argument, then the contents of that directory
  117.           and all its subdirectories are sent. A new
  118.           option to sz is '-P <dir or file>'
  119.           (capital 'P' not 'p'), that
  120.           'prunes' the expansion of a directory. For
  121.           example if you wanted to send all the files
  122.           in the 'C' partition of your hard disk, except
  123.           the 'tmp', 'usr' and 'foo\bar' subdirectories, you would
  124.           issue the following command in the transfer
  125.           shell:
  126.  
  127.              sz -f -P c:\tmp -P c:\usr -P c:\foo\bar c:\
  128.  
  129.           Notice that you may specify multiple -P 'rune
  130.           options. The argument to the -P option may also be
  131.           the name of a file that you want to prune off.
  132.           Also note that to send full path names
  133.           to the remote end, the '-f' option is required,
  134.           otherwise the remote end will create all the
  135.           files in its current working directory. (Also
  136.           see CWRU extension to Unix 'rz', where 'rz' when
  137.           receiving full path names (ie. when you specify the
  138.           '-f' option to sz on the ST end) will create all
  139.           subdirectories required to receive the file). The
  140.           ST 'rz' always creates all subdirectories required
  141.           to receive a path when the other end is sz'ing with
  142.           the '-f' option. Also note that in both the rz's
  143.           all subdirectories are created relative to the 
  144.           current working directory, even though the path may
  145.           specify an absolute path.
  146.  
  147.             o File name mapping is slightly changed from V1.0.
  148.           When receiving a filename that has multiple '.'s
  149.           all but the last '.' is replace with an '_'. So
  150.           'foo.bar.ext' becomes 'foo_bar.ext'. Similarly
  151.           '123.456.789\aaa.bbb.ccc' becomes '123_456.789\aaa_bbb.ccc'.
  152.           As in V1.0, the filename and extension (of each
  153.           component of a path name) are truncated to 8 and 3
  154.           characters respectively. So '123.456789.ext\foobarbaz'
  155.           becomes '123_4567.ext\foobarba'. Also note that
  156.           while sending, '\'s are sent as '/'s. The ST drive
  157.           specifier part of a path name is never sent.
  158.           So 'c:\file.ext' is sent as '/file.ext' (remember:
  159.           that full pathnames are only sent when the '-f'
  160.           option is specified to 'sz').
  161.  
  162.         o Many bug fixes since V1.0!
  163.  
  164. ----------------------------------------------------------------------------
  165.  
  166.  
  167.     Zmdm consists of two main components:
  168.         o The terminal emulator
  169.         o The transfer shell
  170.  
  171.     - The terminal emulator emulates a 80*25 terminal
  172.     (or optionally the 80*50 mode on Mono systems only).
  173.     It uses the escape codes of the bios built in enhanced
  174.     vt52 emulator. For UN*X users i have included the
  175.     termcap entry that we use.
  176.  
  177.     - The transfer shell lets you send/receive files using
  178.     Xmodem/Xmodem-CRC/Xmodem-1K/Ymodem or Zmodem protocols.
  179.         In addition it provides UN*X csh like command for your
  180.     convenience, and does (TOS style) wild-card handling,
  181.         and (only single) quoting of arguments. Please note that
  182.     this is a convenience feature, and in no way does it
  183.     pretend to be compatible with csh or any other shell.
  184.     See the accompanying file YMODEM.DOC by Chuck Forsberg,
  185.     for details of the above transfer protocols.
  186.  
  187.     This note describes the commands available from the
  188.     "transfer shell". The transfer shell is the built in command line
  189.     interface. In case you are wondering why we choose to
  190.     use a command line interface, the answer is quite simple.
  191.     The functions available have so many options and combinations
  192.     thereof, that it would be totally impractical if not impossible
  193.     to put them in menus/dialogues (each menu will have to be at least
  194.     3 levels deep). Of course it is much easier to type something
  195.     like 'sz -l 128 -L 128 *.c' than answering the at least three
  196.     dialogues required to pick up the same info. You enter the
  197.     transfer shell from the terminal emulator by hitting <HELP>
  198.     and choosing 'T' from the main menu. Once you are done using the
  199.     transfer shell, you simply hit <RETURN> to pop back into the terminal
  200.     emulator, exactly where you left off.
  201.  
  202.     This program was written primarily for situations where you
  203.     are connected to remote hosts either directly or via modems.
  204.     The timing and error parameters are NOT suitable for hosts
  205.     such as CompuServe etc, where there may large delays or your
  206.     phone line is noisy. We distributed a program called XMDM earlier
  207.     that is very tolerant of delays/noisy lines and has been used
  208.     very successfully for BBS'ing around the country. XMDM has
  209.     conveniences such as dialing directories etc for that purpose.
  210.     If you have a old version of XMDM ( < V1.8) that does not have
  211.     dialing directories etc, please mail me for a new copy.
  212.  
  213.     ZMDM has been tested in the following ways:
  214.     1) Between two ST's running ZMDM. 19200 Baud no problem!
  215.     2) With unix sz/rz running on a BSD4.3 on Vaxen.
  216.     3) With unix sz/rz running on Apollo Dn330/Dn300 under Aegis and
  217.        Domain IX (over a siologin line).
  218.     4) With unix sz/rz running on a Sun under SunOS.
  219.     6) With an Ibm At running Procomm using Ymodem/Xmodem.
  220.     7) With ForemSt bbs, with the BBS sending in Ymodem batch
  221.        mode. (note: ForemSt bbs's do not take batch uploads -
  222.        Matt Singer are you listening??)
  223.  
  224.     8) With a Mac running MicroPhone using Ymodem mode.
  225.     9) With an Intel 210 box running Xenix (yech!).
  226.         
  227.     UNIX users please note:
  228.         If the load on your system is high, the UNIX tty
  229.     driver drops characters when receiving at 9600 or higher baud rates.
  230.     There are two ways around this problem:
  231.     - use shorter packet and frame lengths using the `-l' and `-L' options
  232.     of SZ. For examples `sz -l 128 -L 128 files...' work most of
  233.     the time at 9600/19200 baud without any problem.
  234.  
  235.     - reduce your baud rate to 4800 baud. Normally the first solution
  236.     works fine, but if you have an extraordinarily loaded machine
  237.     (or are running on a brain damaged 750 with DZ11's), then 4800 baud
  238.     works better.
  239.     
  240.     - Those who have 3b2 boat anchors, the tty driver (at least on
  241.      the boxes we have) is totally useless over 1200 baud.
  242.  
  243.     -----
  244.     
  245.  
  246. NAME
  247.      rb, rz - XMODEM, YMODEM, ZMODEM (Batch) file receive
  248.  
  249. SYNOPSIS
  250.      rz    [-Bpqtv]
  251.      rb    [-pqtv]
  252.      rz    [-cqtv] file
  253.  
  254.  
  255. DESCRIPTION
  256.      This program uses error correcting    protocol to receive files
  257.      over a serial port    from a variety of programs running under
  258.      TOS, PC-DOS, CP/M, Unix, and other operating systems.
  259.  
  260.      The first form of rz (Receive ZMODEM) receives files with
  261.      the ZMODEM    batch protocol.     If the    sending    program    does not
  262.      support ZMODEM, rz    steps down to YMODEM protocol after 50
  263.      seconds.  This delay can be eliminated by calling the pro-
  264.      gram as rb    .
  265.  
  266.      When receiving with XMODEM    or YMODEM, Rz accepts either
  267.      standard 128 byte sectors or 1024 byte sectors (YAM -k
  268.      option).  The user    should determine when the longer block
  269.      length actually improves throughput without causing prob-
  270.      lems.
  271.  
  272.      If    extended file information (file    length,    etc.) is
  273.      received, the file    length controls    the number of bytes writ-
  274.      ten to the    output dataset (YMODEM only), and the modify time
  275.      and file mode (iff    non zero) are set accordingly. A special feature
  276.      of the ST implementation is that if the remote end sends
  277.      full path names (-f option of sz) all required directories
  278.      will be automatically created on the ST end. The directories
  279.      will be rooted at the current directory and not at the root level.
  280.  
  281.      The second    form of    rz receives a single file with XMODEM
  282.      protocol.    The user must supply the file name to both send-
  283.      ing and receiving programs.
  284.  
  285.      When rz is invoked, Verbose is set to 2, causing frame by
  286.      frame progress reports to stderr.  This may be disabled with
  287.      the q option.
  288.  
  289.  
  290.      The meanings of the available options are:
  291.      
  292.      B      (ZMODEM) force all files to be received in binary mode.
  293.       Useful for ST-to-ST transfers (for Ascii files where
  294.       you don't want LF to CRLF conversion). This is
  295.       a local override, specifying `-B' overrides any mode
  296.       the sender specifies (it however will still honor any `protect'
  297.       or `append' requests from the sender)
  298.       (Applicable to ZMODEM transfers only).
  299.  
  300.      c      Request 16 bit CRC.  XMODEM file transfers default to    8
  301.       bit checksum.     YMODEM    and ZMODEM normally use    16 bit
  302.       CRC.
  303.  
  304.      p      (ZMODEM) Protect: skip file if destination file exists.
  305.  
  306.      q      Quiet    suppresses verbosity.
  307.  
  308.      t tim
  309.       Change timeout to tim    tenths of seconds.
  310.  
  311.      v      Verbose, more v's give more verbose. Info is also
  312.       appended to logfile 'rzlog' .    More v's generate more output.
  313.  
  314. ZMODEM CAPABILITIES
  315.      Rz    supports incoming ZMODEM binary    (-b), ASCII (-a), protect
  316.      (-p), and append (-+) requests, and ZMODEM    command    execu-
  317.      tion. The incoming mode may be optionally overriden by specifying
  318.      the `-B' option to Rz, in which case all files will be received
  319.      in binary mode regardless of the incoming mode (protect and append will
  320.      still be obeyed). 
  321.  
  322.      Rz also supports incoming pathnames, and will recursively
  323.      create all subdirectories as required. Rz preserve file mod
  324.      times, and file protection. The translation of Unix protection
  325.      bits to ST file attributes is based on the Unix owner (07XX)
  326.      protection bits.  Presently, only read and write bits are considered.
  327.      All received pathnames are considered to be rooted at the 
  328.      current working directory. Any leading '/' from unix systems
  329.      is discarded (ie. all incoming pathnames are considered unrooted,
  330.      and are locally 'planted' at the current working directory).
  331.      Ascii/Binary file modes are determined by examining the file
  332.      extension on the incoming path name. If the extension is one
  333.      of the following (case independent), then it is assumed to be
  334.      a binary file, ascii other wise. The ascii translation of 
  335.      '\n' to '\r\n' is done locally for ZMODEM (only).
  336.      For X or Y modem the sender determines the file type (see
  337.      the file 'common.c' for the latest list).
  338.  
  339.     ".PRG", ".TOS", ".TTP", ".ARC", ".ACC", ".IMG", ".RSC", ".O",
  340.         ".OBJ", ".NEO", ".PIC", ".PI1", ".PI2", ".PI3", ".PQ1", ".PQ2",
  341.         ".PQ3", ".BRD", ".ANI", ".STW", ".FNT", ".PRT", ".SNG", ".NEC",
  342.         ".CNF", ".Z"  , ".DFN", ".GEM", ".EZD", ".LNK", ".SYM",
  343.         ".PIX", ".X32", ".OUT", ".A",   ".CCC", ".CL",  ".CMD", ".COM",
  344.         ".CRL", ".DAT", ".DIR", ".EXE", ".OVL", ".PAG", ".REL", ".SAV",
  345.         ".SUB", ".SWP", ".SYS", ".TAR", ".UTL", ".IM",  ".PAK"
  346.  
  347.  
  348.  
  349. RZ/SZ(1)              ST Programmer's Manual            RZ/SZ(1)
  350.  
  351. NAME
  352.      sz
  353.  
  354. SYNOPSIS
  355.      sz    [-+BdefkLlNnopqtuvy][-P <directory of file>]*  file ...
  356.      sz    -X [-kqtuv] file
  357.      sz    [-oqtv] -c COMMAND
  358.      sz    [-oqtv] -i COMMAND
  359.  
  360. DESCRIPTION
  361.      Sz    uses the ZMODEM, YMODEM    or XMODEM error    correcting proto-
  362.      col to send one or    more files over    a serial port to a
  363.      variety of    programs running under PC-DOS, CP/M, Unix, VMS, TOS
  364.      and other operating systems.
  365.  
  366.  
  367.      The first form of sz sends    one or more files with ZMODEM or
  368.      YMODEM batch protocol.  Normally, only the    file name part of
  369.      the pathname is transmitted. Additional
  370.      information about the file    is transmitted.     If the    receiving
  371.      program uses this information, the    transmitted file length
  372.      controls the exact    number of bytes    written    to the output
  373.      dataset, and the modify time and file mode    are set    accord-
  374.      ingly.
  375.  
  376.      The second    form of    sz uses    the -X flag to send a single file
  377.      with XMODEM or XMODEM-1k protocol.     The user must supply the
  378.      file name to both sending and receiving programs.
  379.  
  380.  
  381.      The third form sends a single COMMAND to the receiver for
  382.      execution.     Sz exits with the COMMAND return value.
  383.  
  384.  
  385.      The fourth    form sends a single COMMAND to the receiver for
  386.      execution.     Sz exits as soon as the receiver has correctly
  387.      received the command, before it is    executed.
  388.  
  389.  
  390.      In SZ Verbose is set to 2, causing frame by frame pro-
  391.      gress reports to stderr.  This may    be disabled with the q
  392.      option.
  393.  
  394.      The meanings of the available options are:
  395.  
  396.      +      Instruct the receiver    to append transmitted data to an
  397.       existing file    (ZMODEM    only).
  398.  
  399.      B      (ZMODEM) force all files to be sent in binary mode.
  400.       Useful for ST-to-ST transfers (for Ascii files where
  401.       you don't want LF to CRLF conversion).
  402.       (Applicable to ZMODEM transfers only).
  403.  
  404.      c COMMAND
  405.       Send COMMAND to the receiver for execution, return with
  406.       COMMAND's exit status.
  407.  
  408.      d      Change all instances of "." to "/" in    the transmitted
  409.       pathname.  Thus, C.omenB0000 (which is unacceptable to
  410.       MSDOS    or CP/M) is transmitted    as C/omenB0000.     If the
  411.       resultant filename has more than 8 characters    in the
  412.       stem,    a "." is inserted to allow a total of eleven.
  413.  
  414.      E      Escape only Ctrl-X control characters; normally XON,
  415.       XOFF,    CR-@-CR, and Ctrl-X are    escaped.
  416.  
  417.      e      Escape all control characters; normally XON, XOFF, CR-
  418.       @-CR,    and Ctrl-X are escaped.
  419.  
  420.      f      Send Full pathname.  Normally    directory prefixes are
  421.       stripped from    the transmitted    filename.
  422.  
  423.      i COMMAND
  424.       Send COMMAND to the receiver for execution, return
  425.       Immediately upon the receiving program's successful
  426.       reception of the command.
  427.  
  428.      k      (XMODEM/YMODEM) Send files using 1024    byte blocks
  429.       rather than the default 128 byte blocks.  1024 byte
  430.       packets speed    file transfers at high bit rates.  (ZMO-
  431.       DEM streams the data for the best possible throughput.)
  432.  
  433.      L N  Use ZMODEM sub-packets of length N.  A larger    N (32 <=
  434.       N <= 1024) gives slightly higher throughput, a smaller
  435.       N speeds error recovery.  The    default    is 128 below 300
  436.       baud,    256 above 300 baud, or 1024 above 2400 baud.
  437.  
  438.      l N  Wait for the receiver    to acknowledge correct data every
  439.       N (32    <= N <=    1024) characters.  This    may be used to
  440.       avoid    network    overrun    when XOFF flow control is lack-
  441.       ing.
  442.  
  443.      n      (ZMODEM) Send    each file if destination file does not
  444.       exist.  Overwrite destination    file if    source file is
  445.       newer    or longer than the destination file.
  446.  
  447.      N      (ZMODEM) Send    each file if destination file does not
  448.       exist.  Overwrite destination    file if    source file has
  449.       different length or date.
  450.  
  451.      o      (ZMODEM) Disable automatic selection of 32 bit CRC.
  452.  
  453.      p      (ZMODEM) Protect existing destination    files by skipping
  454.       transfer if the destination file exists.
  455.  
  456.      q      Quiet    suppresses verbosity.
  457.  
  458.      r      Resume interrupted file transfer.  If    the source file
  459.       is longer than the destination file, the transfer com-
  460.       mences at the    offset in the source file that equals the
  461.       length of the    destination file.
  462.  
  463.      t tim
  464.       Change timeout to tim    tenths of seconds.
  465.  
  466.      u      Unlink the file after    successful transmission.
  467.  
  468.      v      Verbose causes a list    of file    names to be appended to
  469.       szlog .    More v's generate more output.
  470.  
  471.      X      Send a single    file with XMODEM or XMODEM-1k protocol.
  472.  
  473.      y      Instruct a ZMODEM receiving program to overwrite any
  474.       existing file    with the same name.
  475.  
  476.      P <directory or file>
  477.     (ZMODEM) Sz may be given the name of
  478.     a directory, in which case it will send the contents
  479.     of the directory, and all the subdirectories thereof.
  480.     The -P 'Prune' option is used to prune out the named directory
  481.     or file while expanding the directory tree. Multiple
  482.     -P options may be specified. This option
  483.     is only present when the source is compiled with the
  484.     pre-processor symbol `RECURSE' defined.
  485.  
  486.     SZ guesses the file mode by examining the filename extension as
  487.     discusses under RZ above. SZ -f send full pathnames with '\'
  488.     converted to '/'. The ST drive specifier is never sent.
  489.  
  490. SEE ALSO
  491.      ZMODEM.DOC, YMODEM.DOC, IMP(CP/M),    cu(1), Professional-YAM
  492.      manual, sz(omen), usq(omen), undos(omen)
  493.  
  494.      Compile time options required for various operating systems
  495.      are described in the source file.
  496.  
  497. NOTES
  498.     Depending on your file structure, when using the recursively
  499.     descend a directory option of Sz, ZMDM can demand a lot of
  500.     dynamic memory. When the pre-processor symbol `RECURSE' is
  501.     defined, for Mark Williams C, `_stksize' is set to 16K. If
  502.     you are using Alcyon C, please use a decent version of
  503.     GEMSTART.S. We use the version from pratt@atari with
  504.     memory model (STACK=1), which gives quarter of available
  505.     memory to stack+heap. Note that all the dynamic memory is
  506.     taken off the program heap (for Alcyon, and off the Arena
  507.     above the stack for Mark Wiliams), ie. ZMDM uses `malloc' not
  508.     `Malloc'.
  509.  
  510.     It is possible to run out of dynamic memory when descending
  511.     a file structure with a lot of files and/or deep-hierarchies.
  512.     The simplest way to work around this problem is to do the
  513.     sending in parts by using the -P rune option of Sz. For
  514.     instance if you run out of memory while trying to send your
  515.     C partition, you may want to prune out some directories and
  516.     send things in parts. In my case i backup my C partition to
  517.     our unix host in the following manner:
  518.  
  519.     sz -f -P c:\bin -P c:\lib c:\  /* send eveything in the C
  520.                         partition except the 'bin'
  521.                         and 'lib' subdirectories */
  522.  
  523.     sz -f c:\bin c:\lib          /* then send the 'bin' and 'lib'
  524.                         directories */
  525.  
  526.     The second solution depends on if you are using Mark Williams
  527.     or Alcyon C libraries. If you are running out of memory because
  528.     of deep hierarchies, you need to increase the stack. If you are
  529.     running out of memory because of a lot of files, then you
  530.     need to decrease the stack to allow for a larger arena in
  531.     the case of MWC (and trade-off for depth), or in the case of
  532.     Alcyon you need to increase stack+heap. On systems with a
  533.     large Ramdisk or many ACCs make sure you have enough space
  534.      before doing this.
  535.  
  536.     The TTY input buffering on    some systems may not allow long
  537.     blocks or streaming input,    especially at high baud    rates.
  538.     The Pro-YAM zmodem    l numeric parameter may    be set to a value
  539.     between 64    and 1024 to limit the burst length.
  540.  
  541. BUGS
  542.      THIS SOFTWARE IS STILL UNDER DEVELOPMENT AND ALMOST POSITIVELY
  543.      CONTAINS BUGS. PLEASE REPORT ALL SUCH CRITTERS TO mandrill!bammi.
  544.  
  545.      Pathnames are restricted to 127 characters.  In XMODEM sin-
  546.      gle file mode, the    pathname given on the command line is
  547.      still processed as    described above.
  548.  
  549. FILES
  550.  
  551.      (rz|sz)log    stores debugging output    generated with -vvv[v]*
  552.             option.
  553.  
  554. OTHER COMMANDS
  555.     The following command are available in the
  556.     transfer shell:
  557.  
  558.     <regular-expression> ::= <file name> | <wild card> |
  559.                  'quoted string'
  560.     NB: A quoted string cannot contain embedded single quotes. There
  561.         is no escape character available in a quoted string.
  562.  
  563.     rm,   remove files
  564.         rm [-i] <regular expression>
  565.         -i ::= interactive mode, you are prompted before
  566.                file(s) are removed.
  567.  
  568.     cp,   copy files
  569.         cp <many files> directory
  570.             copy all files into directory
  571.             cp *.c d:\foo - copy all C files into foo 
  572.                         directory on drive D:
  573.         cp <file> <directory>
  574.             copy file to directory\file.
  575.  
  576.         cp <file> <file>
  577.             file to file copy
  578.             'cp file con:' to get the listing of a file.
  579.  
  580.     ls,   list directory
  581.         ls [wild card]
  582.         ls without an argument will list all files in the
  583.         current directory. If an argument is given, then
  584.         only files matching the wild card will be listed.
  585.             ls *.c - list all C files in current directory
  586.             ls d:\foo - list all files in foo directory on D:
  587.             ls d:\foo\*.c - list all C files in foo directory
  588.  
  589.     cd,   change working directory
  590.         cd directory
  591.  
  592.     md,   make a directory
  593.         md directory
  594.  
  595.     rd,   remove a directory
  596.         rd directory
  597.         Due to a Gemdos bug, you may have to say 'rd directory'
  598.         twice to get rid of directory. This happens when you
  599.         try to remove a directory that you have never visited.
  600.  
  601.     pwd,  print  working directory
  602.         prints the current working directory
  603.  
  604.     df,   check free space
  605.         df [device]
  606.         df without an argument will show free space on current drive.
  607.         df with an argument will show free space on specified drive.
  608.  
  609. TERMCAP
  610.     Termcap entries that may be used for the terminal emulator.
  611.  
  612. st|520st|atariST|520 or 1040, bw, std sys font, 25 lines, 80 col:\
  613.     :ae=\Eba:al=\EL:am:as=\Ebc:\
  614.     :bl=^G:bs:\
  615.     :cd=\EJ:ce=\EK:cl=\EH\EJ:cm=\EY%+ %+ :co#80:cr=^M:\
  616.     :dl=99\EM:do=\EB:\
  617.     :ho=\EH:\
  618.     :is=\Ev\Ee:\
  619.     :kd=\274:kh=\216:kl=\275:kr=\276:ku=\273:\
  620.     :le=^H:li#25:\
  621.     :nd=\EC:nl=^J:\
  622.     :pt:\
  623.     :se=\Eq:so=\Ep:sr=\EI:\
  624.     :ta=^I:\
  625.     :up=\EA:
  626.  
  627.  
  628. ST|ST25|atariSTcolor|as above but with color for standout :\
  629.     :ae=\Eba:al=\EL:am:as=\Ebc:\
  630.     :bl=^G:bs:\
  631.     :cm=\EY%+ %+ :co#80:li#25:cr=^M:cd=\EJ:ce=\EK:cl=\EH\EJ:\
  632.     :dl=99\EM:do=^J:\
  633.     :ho=\EH:\
  634.     :is=\Ev\Ee:\
  635.     :kd=\274:kh=\216:kl=\275:kr=\276:ku=\273:\
  636.     :le=^H:\
  637.     :nd=\EC:nl=^J:\
  638.     :pt:\
  639.     :so=\Ec2\Eb3:se=\Ec0\Eb3:sr:\EI:\
  640.     :ta=^I:\
  641.     :up=\EA:
  642.  
  643. sT|st50|AtariST emulating vt52, bw, 50 lines, 80 col:\
  644.     :ae=\Eba:al=\EL:am:as=\Ebc:\
  645.     :bl=^G:bs:\
  646.     :cd=\EJ:ce=\EK:cl=\EH\EJ:cm=\EY%+ %+ :co#80:cr=^M:\
  647.     :dl=99\EM:do=^J:\
  648.     :ho=\EH:\
  649.     :is=\Ev\Ee:\
  650.     :kd=\274:kh=\216:kl=\275:kr=\276:ku=\273:\
  651.     :le=^H:li#50:\
  652.     :nd=\EC:nl=^J:\
  653.     :pt:\
  654.     :se=\Eq:so=\Ep:sr=\EI:\
  655.     :ta=^I:\
  656.     :up=\EA:
  657.  
  658. COMPILING
  659.  
  660.     The source provided with this distribution will compile
  661.     with either ALCYON C V4.14 as distributed with the 
  662.     Atari Development System,  with Mark Williams C Version 2.00
  663.     or later and with MANX Aztec C (V3.6a tested).
  664.     (please note that the system will NOT compile with earlier
  665.      versions of either compiler.)
  666.  
  667.     Edit config.h.
  668.  
  669.     If you are using Alcyon(and ALN for the linker), check paths in LNK
  670.  
  671.     Define the preprocessor symbol `RECURSE' if you
  672.     want the sz to accept directory names(and send its
  673.     contents), and for the -P option.
  674.  
  675.     To compile with Alcyon see the file `makefile.alc'
  676.     To compile with Mark Williams C see the file `makefile'
  677.     To compile with Manx Aztec C see the file `makefile.man'
  678.  
  679.     Rename ZMDM.PRG to ZMDM.TOS if you so desire.
  680.  
  681. MORE ALCYON NOTES:
  682.     -- Some people seem to have a bad version of as68 with Alcyon,
  683.      that does'nt handle static variables too well (ie. symbols of the
  684.      form "`name" in the assembler). Please make sure yours is not one of
  685.      these.
  686.  
  687.     -- Use a reasonable version of gemstart.s - ie. one which gives you
  688.      a decent amount of stack+heap space. One of the nicer versions
  689.      floating around is the one written by Alan Pratt @atari, that
  690.      gives you the various memory model options, and corrects the
  691.      bug with the bdos call as suggested by Robert Royar on this net.
  692.  
  693.     -- Do NOT use the `fix' distributed on CompuServe developers forum
  694.     in the file WILDFI.ARC (in Dl7). This fix does'nt fix anything,
  695.     it breaks everything!
  696.  
  697. KNOWN BUGS
  698.     -v's on the ST end don't do a thing!
  699.  
  700.     If a receive is cancelled/aborted, the receive file
  701.     buffer is not flushed to the file. Personally, i
  702.     view this as a feature rather than a bug, so it is
  703.     unlikely to be `fixed'.
  704.  
  705. DISCLAIMER
  706.     This code is in public domain, and you are encouraged
  707.     to distribute it further. You may however not sell the
  708.     code, or use it for any commercial gains. The code is
  709.     provided as is, and we are not responsible for any
  710.     omissions/errors, bugs, nor do we claim correctness or
  711.     its fitness for any purpose.
  712.  
  713.     Please forward your comments and suggestions to
  714.  
  715.                 Jwahar Bammi
  716.             usenet: mandrill!bammi@{decvax,sun}.UUCP
  717.             csnet:  bammi@mandrill.ces.CWRU.edu
  718.             arpa:   bammi@mandrill.ces.CWRU.edu
  719.             CompuServe: 71515,155
  720.  
  721.  
  722. /* EOF */
  723.